发送文件到TCP
客户端连接。使用示例:
bool Server->sendfile(int $fd, string $filename, int $offset =0, int $length = 0);
sendfile
函数调用操作系统提供的sendfile
系统调用,由操作系统直接读取文件并写入socket
- 因此
sendfile
只有2
次内存拷贝,使用此函数可以降低发送大量文件时操作系统的CPU
和内存占用
$filename
要发送的文件路径,如果文件不存在会返回false$offset
指定文件偏移量,可以从文件的某个位置起发送数据。默认为0,表示从文件头部开始发送$length
指定发送的长度,默认为文件尺寸。
- 操作成功返回
true
,失败返回false
此函数与
Server->send
都是向客户端发送数据,不同的是sendfile
的数据来自于指定的文件
sendfile
在低于1.9.17
版本中不能用于SSL
客户端连接
$length
和$offset
在1.9.11
版本后可用